In the field of information processing, a virtualization technology has been utilized for operating a plurality of virtual computers (may be referred to as virtual machines or logical hosts) on a physical computer (may be referred to as a physical machine or a physical host). On each virtual machine, software, such as an OS (Operating System), may be executed. A physical machine using the virtualization technology executes software for managing a plurality of virtual machines.
For example, software called a hypervisor assigns the processing capacity of a CPU (Central Processing Unit) and a storage area of a RAM (Random Access Memory) to a plurality of virtual machines, as the resources for computation. Moreover, a hypervisor may use the above resources to operate a virtual switch, which relays the communication data of a virtual machine, on a physical machine.
A system including a plurality of physical machines may collect the packets transmitted and received between virtual machines to monitor the operational status of the system. The packets may be collected using a mirroring function (a function to duplicate a packet passing through a certain port and send it also from another port) of a switch that relays packets. For example, there is a proposal that the arrangement of virtual machines is modified so that the packets between virtual machines on each physical machine may be collected in an aggregated manner from a virtual switch on any one of physical machines, thereby collecting the packets from this virtual switch.
There is also a proposal that, when there is a physical NIC (Network Interface Card) whose usage rate is higher than an upper limit among the physical NICs on a virtual machine server, the connection destination of a virtual NIC of a virtual machine with the lowest priority among the virtual machines in operation is switched to a physical NIC whose usage rate is lower than the upper limit.
Japanese Laid-open Patent Publication No. 2013-175075
Japanese Laid-open Patent Publication No. 2009-130527
As with the above-described proposals, packets may be collected by mirroring a predetermined port using a virtual switch on one physical machine. However, in this case, the load on a physical machine in charge of collecting packets might increase. Then, the collection of packets may be shared among physical machines. Specifically, it is conceivable that a port to be monitored is individually mirrored using a virtual switch on each physical machine, so that packets are collected by a predetermined virtual machine on the same physical machine as that of each virtual switch.
However, the transmitted and received amount of packets between virtual machines differs with a function realized by a virtual machine, the frequency of use of a virtual machine, or the like. Focusing on the ports of a virtual switch, there are various ports, such as a port having a relatively high communication traffic and a port having a relatively low communication traffic. Therefore, depending on a combination of mirroring ports, the number of packets to be duplicated/collected on any one of physical machines might increase and thus the load might be biased to this physical machine.